package com.ctshk.rpc.system.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @description 创建用户请求
 * @author 谢诗宏
 * @date 2020/12/15
 */
@Data
@ApiModel(value="AddSysUserReq对象", description="创建用户请求对象")
public class AddSysUserReq implements Serializable {

    @ApiModelProperty(value = "用户id")
    private Long id;

    @NotBlank(message = "請輸入系统账号,即邮箱前缀")
    @ApiModelProperty(value = "系统账号", required = true)
    private String username;

    @NotBlank(message = "請輸入中文姓")
    @ApiModelProperty(value = "中文姓", required = true)
    private String cnSurname;

    @NotBlank(message = "請輸入中文名")
    @ApiModelProperty(value = "中文名", required = true)
    private String cnName;

    @NotBlank(message = "請輸入英文姓")
    @ApiModelProperty(value = "英文姓", required = true)
    private String enSurname;

    @NotBlank(message = "請輸入英文名")
    @ApiModelProperty(value = "英文名", required = true)
    private String enName;

    @ApiModelProperty(value = "性别(0:未知;1:男;2:女)")
    private Integer gender;

    @NotBlank(message = "請輸入员工号")
    @ApiModelProperty(value = "员工号", required = true)
    private String employeeNumber;

    @NotBlank(message = "請輸入角色")
    @ApiModelProperty(value = "角色,存角色ID，用逗号隔开", required = true)
    private String roles;

    @NotBlank(message = "請輸入职位")
    @ApiModelProperty(value = "职位", required = true)
    private String position;

    @NotNull(message = "請輸入所属部门")
    @ApiModelProperty(value = "部门ID", required = true)
    private Long deptId;

    @NotBlank(message = "請輸入邮箱")
    @ApiModelProperty(value = "用户邮箱", required = true)
    private String email;

    @ApiModelProperty(value = "电话号码")
    private String mobile;

    @ApiModelProperty(value = "电话号码区号")
    private String mobileAreaCode;

    @ApiModelProperty(value = "其他电话")
    private String mobileOther;

    @ApiModelProperty(value = "其他电话区号")
    private String mobileOtherAreaCode;

    @ApiModelProperty(value = "座机号")
    private String telephone;

    @ApiModelProperty(value = "座机号区号")
    private String telephoneAreaCode;

    @ApiModelProperty(value = "传真")
    private String fax;

    @ApiModelProperty(value = "传真区号")
    private String faxAreaCode;

    @NotNull(message = "請輸入账号类型")
    @ApiModelProperty(value = "账号类型 1 普通账号	2 供应商账号	3 代理商账号	4 大客户账号", required = true)
    private Integer accountType;

    @ApiModelProperty(value = "状态")
    private Integer status;

}
